var runtime.sched

426 uses

	runtime (current package)
		cgocall.go#L421: 	hz := sched.profilehz
		debug.go#L21: 	lock(&sched.lock)
		debug.go#L23: 	unlock(&sched.lock)
		debug.go#L56: 	total := sched.totalMutexWaitTime.Load()
		debug.go#L58: 	total += sched.totalRuntimeLockWaitTime.Load()
		debugcall.go#L247: 		lock(&sched.lock)
		debugcall.go#L249: 		unlock(&sched.lock)
		metrics.go#L321: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L447: 				sched.timeToRun.write(out)
		metrics.go#L452: 				sched.stwStoppingTimeGC.write(out)
		metrics.go#L457: 				sched.stwStoppingTimeOther.write(out)
		metrics.go#L462: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L467: 				sched.stwTotalTimeOther.write(out)
		mgc.go#L1120: 	sched.idleTime.Store(0)
		mgc.go#L1497: 						lock(&sched.lock)
		mgc.go#L1499: 						unlock(&sched.lock)
		mgc.go#L1810: 	lock(&sched.sudoglock)
		mgc.go#L1812: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L1816: 	sched.sudogcache = nil
		mgc.go#L1817: 	unlock(&sched.sudoglock)
		mgc.go#L1821: 	lock(&sched.deferlock)
		mgc.go#L1825: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L1829: 	sched.deferpool = nil
		mgc.go#L1830: 	unlock(&sched.deferlock)
		mgclimit.go#L216: 				sched.idleTime.Add(duration)
		mgclimit.go#L477: 		sched.idleTime.Add(duration)
		mgcmark.go#L293: 	lock(&sched.gFree.lock)
		mgcmark.go#L294: 	list := sched.gFree.stack
		mgcmark.go#L295: 	sched.gFree.stack = gList{}
		mgcmark.go#L296: 	unlock(&sched.gFree.lock)
		mgcmark.go#L313: 	lock(&sched.gFree.lock)
		mgcmark.go#L314: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L315: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1183: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcmark.go#L1205: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mstats.go#L461: 		lock(&sched.sysmonlock)
		mstats.go#L501: 		unlock(&sched.sysmonlock)
		mstats.go#L975: 	s.TotalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L976: 	s.IdleTime += sched.idleTime.Load()
		panic.go#L525: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L526: 		lock(&sched.deferlock)
		panic.go#L527: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L528: 			d := sched.deferpool
		panic.go#L529: 			sched.deferpool = d.link
		panic.go#L533: 		unlock(&sched.deferlock)
		panic.go#L584: 		lock(&sched.deferlock)
		panic.go#L585: 		last.link = sched.deferpool
		panic.go#L586: 		sched.deferpool = first
		panic.go#L587: 		unlock(&sched.deferlock)
		proc.go#L373: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L462: 		lock(&sched.sudoglock)
		proc.go#L464: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L465: 			s := sched.sudogcache
		proc.go#L466: 			sched.sudogcache = s.next
		proc.go#L470: 		unlock(&sched.sudoglock)
		proc.go#L528: 		lock(&sched.sudoglock)
		proc.go#L529: 		last.next = sched.sudogcache
		proc.go#L530: 		sched.sudogcache = first
		proc.go#L531: 		unlock(&sched.sudoglock)
		proc.go#L783: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L784: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L785: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L786: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L809: 	sched.maxmcount = 10000
		proc.go#L856: 	lock(&sched.lock)
		proc.go#L857: 	sched.lastpoll.Store(nanotime())
		proc.go#L865: 	unlock(&sched.lock)
		proc.go#L890: 	assertLockHeld(&sched.lock)
		proc.go#L901: 	if count > sched.maxmcount {
		proc.go#L902: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L912: 	assertLockHeld(&sched.lock)
		proc.go#L914: 	if sched.mnext+1 < sched.mnext {
		proc.go#L917: 	id := sched.mnext
		proc.go#L918: 	sched.mnext++
		proc.go#L932: 	lock(&sched.lock)
		proc.go#L954: 	unlock(&sched.lock)
		proc.go#L999: 	sched.nmspinning.Add(1)
		proc.go#L1000: 	sched.needspinning.Store(0)
		proc.go#L1091: 		sched.stopwait = freezeStopWait
		proc.go#L1092: 		sched.gcwaiting.Store(true)
		proc.go#L1249: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1271: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1551: 	lock(&sched.lock)
		proc.go#L1553: 	sched.stopwait = gomaxprocs
		proc.go#L1554: 	sched.gcwaiting.Store(true)
		proc.go#L1559: 	sched.stopwait--
		proc.go#L1570: 			sched.stopwait--
		proc.go#L1586: 		sched.stopwait--
		proc.go#L1588: 	wait := sched.stopwait > 0
		proc.go#L1589: 	unlock(&sched.lock)
		proc.go#L1595: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1596: 				noteclear(&sched.stopnote)
		proc.go#L1606: 		sched.stwStoppingTimeGC.record(startTime)
		proc.go#L1608: 		sched.stwStoppingTimeOther.record(startTime)
		proc.go#L1617: 	if sched.stopwait != 0 {
		proc.go#L1668: 	lock(&sched.lock)
		proc.go#L1676: 	sched.gcwaiting.Store(false)
		proc.go#L1677: 	if sched.sysmonwait.Load() {
		proc.go#L1678: 		sched.sysmonwait.Store(false)
		proc.go#L1679: 		notewakeup(&sched.sysmonnote)
		proc.go#L1681: 	unlock(&sched.lock)
		proc.go#L1708: 		sched.stwTotalTimeGC.record(totalTime)
		proc.go#L1710: 		sched.stwTotalTimeOther.record(totalTime)
		proc.go#L1896: 		lock(&sched.lock)
		proc.go#L1897: 		sched.nmfreed++
		proc.go#L1899: 		unlock(&sched.lock)
		proc.go#L1918: 	lock(&sched.lock)
		proc.go#L1942: 	mp.freelink = sched.freem
		proc.go#L1943: 	sched.freem = mp
		proc.go#L1944: 	unlock(&sched.lock)
		proc.go#L1947: 	sched.totalRuntimeLockWaitTime.Add(mp.mLockProfile.waitTime.Load())
		proc.go#L1956: 	lock(&sched.lock)
		proc.go#L1957: 	sched.nmfreed++
		proc.go#L1959: 	unlock(&sched.lock)
		proc.go#L2029: 	lock(&sched.lock)
		proc.go#L2030: 	if sched.safePointWait != 0 {
		proc.go#L2033: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L2034: 	sched.safePointFn = fn
		proc.go#L2050: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L2053: 			sched.safePointWait--
		proc.go#L2057: 	wait := sched.safePointWait > 0
		proc.go#L2058: 	unlock(&sched.lock)
		proc.go#L2091: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L2092: 				noteclear(&sched.safePointNote)
		proc.go#L2098: 	if sched.safePointWait != 0 {
		proc.go#L2107: 	lock(&sched.lock)
		proc.go#L2108: 	sched.safePointFn = nil
		proc.go#L2109: 	unlock(&sched.lock)
		proc.go#L2132: 	sched.safePointFn(p)
		proc.go#L2133: 	lock(&sched.lock)
		proc.go#L2134: 	sched.safePointWait--
		proc.go#L2135: 	if sched.safePointWait == 0 {
		proc.go#L2136: 		notewakeup(&sched.safePointNote)
		proc.go#L2138: 	unlock(&sched.lock)
		proc.go#L2176: 	if sched.freem != nil {
		proc.go#L2177: 		lock(&sched.lock)
		proc.go#L2179: 		for freem := sched.freem; freem != nil; {
		proc.go#L2208: 		sched.freem = newList
		proc.go#L2209: 		unlock(&sched.lock)
		proc.go#L2345: 	sched.ngsys.Add(-1)
		proc.go#L2412: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2423: 	sched.ngsys.Add(1)
		proc.go#L2480: 	sched.ngsys.Add(1)
		proc.go#L2519: 		lock(&sched.lock)
		proc.go#L2521: 		unlock(&sched.lock)
		proc.go#L2842: 	lock(&sched.lock)
		proc.go#L2843: 	sched.nmsys++
		proc.go#L2845: 	unlock(&sched.lock)
		proc.go#L2883: 	lock(&sched.lock)
		proc.go#L2885: 	unlock(&sched.lock)
		proc.go#L2932: 		lock(&sched.lock)
		proc.go#L2944: 				unlock(&sched.lock)
		proc.go#L2967: 		unlock(&sched.lock)
		proc.go#L2977: 			lock(&sched.lock)
		proc.go#L2985: 		unlock(&sched.lock)
		proc.go#L3014: 	if !runqempty(pp) || sched.runqsize != 0 {
		proc.go#L3030: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L3031: 		sched.needspinning.Store(0)
		proc.go#L3035: 	lock(&sched.lock)
		proc.go#L3036: 	if sched.gcwaiting.Load() {
		proc.go#L3039: 		sched.stopwait--
		proc.go#L3040: 		if sched.stopwait == 0 {
		proc.go#L3041: 			notewakeup(&sched.stopnote)
		proc.go#L3043: 		unlock(&sched.lock)
		proc.go#L3047: 		sched.safePointFn(pp)
		proc.go#L3048: 		sched.safePointWait--
		proc.go#L3049: 		if sched.safePointWait == 0 {
		proc.go#L3050: 			notewakeup(&sched.safePointNote)
		proc.go#L3053: 	if sched.runqsize != 0 {
		proc.go#L3054: 		unlock(&sched.lock)
		proc.go#L3060: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L3061: 		unlock(&sched.lock)
		proc.go#L3070: 	unlock(&sched.lock)
		proc.go#L3093: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L3105: 	lock(&sched.lock)
		proc.go#L3108: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3111: 		unlock(&sched.lock)
		proc.go#L3119: 	unlock(&sched.lock)
		proc.go#L3177: 	if !sched.gcwaiting.Load() {
		proc.go#L3184: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3189: 	lock(&sched.lock)
		proc.go#L3192: 	sched.stopwait--
		proc.go#L3193: 	if sched.stopwait == 0 {
		proc.go#L3194: 		notewakeup(&sched.stopnote)
		proc.go#L3196: 	unlock(&sched.lock)
		proc.go#L3232: 	hz := sched.profilehz
		proc.go#L3259: 	if sched.gcwaiting.Load() {
		proc.go#L3299: 	if pp.schedtick%61 == 0 && sched.runqsize > 0 {
		proc.go#L3300: 		lock(&sched.lock)
		proc.go#L3302: 		unlock(&sched.lock)
		proc.go#L3324: 	if sched.runqsize != 0 {
		proc.go#L3325: 		lock(&sched.lock)
		proc.go#L3327: 		unlock(&sched.lock)
		proc.go#L3340: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3360: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3433: 	lock(&sched.lock)
		proc.go#L3434: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3435: 		unlock(&sched.lock)
		proc.go#L3438: 	if sched.runqsize != 0 {
		proc.go#L3440: 		unlock(&sched.lock)
		proc.go#L3443: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3446: 		unlock(&sched.lock)
		proc.go#L3453: 	unlock(&sched.lock)
		proc.go#L3494: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3509: 		lock(&sched.lock)
		proc.go#L3510: 		if sched.runqsize != 0 {
		proc.go#L3517: 				unlock(&sched.lock)
		proc.go#L3523: 		unlock(&sched.lock)
		proc.go#L3559: 	if netpollinited() && (netpollAnyWaiters() || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3560: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3584: 		sched.pollUntil.Store(0)
		proc.go#L3585: 		sched.lastpoll.Store(now)
		proc.go#L3592: 		lock(&sched.lock)
		proc.go#L3594: 		unlock(&sched.lock)
		proc.go#L3618: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3632: 	if sched.runqsize != 0 {
		proc.go#L3639: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3665: 			if sched.gcwaiting.Load() {
		proc.go#L3732: 			lock(&sched.lock)
		proc.go#L3736: 				unlock(&sched.lock)
		proc.go#L3739: 			unlock(&sched.lock)
		proc.go#L3799: 	lock(&sched.lock)
		proc.go#L3802: 		unlock(&sched.lock)
		proc.go#L3809: 		unlock(&sched.lock)
		proc.go#L3816: 		unlock(&sched.lock)
		proc.go#L3821: 	unlock(&sched.lock)
		proc.go#L3830: 	if sched.lastpoll.Load() == 0 {
		proc.go#L3835: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3854: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L3904: 			lock(&sched.lock)
		proc.go#L3908: 				unlock(&sched.lock)
		proc.go#L3914: 			unlock(&sched.lock)
		proc.go#L3921: 		lock(&sched.lock)
		proc.go#L3923: 		unlock(&sched.lock)
		proc.go#L3928: 	npidle := int(sched.npidle.Load())
		proc.go#L3938: 		lock(&sched.lock)
		proc.go#L3940: 		unlock(&sched.lock)
		proc.go#L4017: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4021: 		lock(&sched.lock)
		proc.go#L4025: 			unlock(&sched.lock)
		proc.go#L4027: 			sched.disable.runnable.pushBack(gp)
		proc.go#L4028: 			sched.disable.n++
		proc.go#L4029: 			unlock(&sched.lock)
		proc.go#L4129: 	lock(&sched.lock)
		proc.go#L4131: 	unlock(&sched.lock)
		proc.go#L4279: 		sched.ngsys.Add(-1)
		proc.go#L4441: 	if sched.sysmonwait.Load() {
		proc.go#L4458: 	if sched.gcwaiting.Load() {
		proc.go#L4490: 	lock(&sched.lock)
		proc.go#L4491: 	if sched.sysmonwait.Load() {
		proc.go#L4492: 		sched.sysmonwait.Store(false)
		proc.go#L4493: 		notewakeup(&sched.sysmonnote)
		proc.go#L4495: 	unlock(&sched.lock)
		proc.go#L4502: 	lock(&sched.lock)
		proc.go#L4504: 	if sched.stopwait > 0 && atomic.Cas(&pp.status, _Psyscall, _Pgcstop) {
		proc.go#L4520: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4521: 			notewakeup(&sched.stopnote)
		proc.go#L4526: 	unlock(&sched.lock)
		proc.go#L4679: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4706: 	if sched.stopwait == freezeStopWait {
		proc.go#L4726: 	if sched.pidle != 0 {
		proc.go#L4762: 	lock(&sched.lock)
		proc.go#L4764: 	if pp != nil && sched.sysmonwait.Load() {
		proc.go#L4765: 		sched.sysmonwait.Store(false)
		proc.go#L4766: 		notewakeup(&sched.sysmonnote)
		proc.go#L4768: 	unlock(&sched.lock)
		proc.go#L4797: 	lock(&sched.lock)
		proc.go#L4812: 	} else if sched.sysmonwait.Load() {
		proc.go#L4813: 		sched.sysmonwait.Store(false)
		proc.go#L4814: 		notewakeup(&sched.sysmonnote)
		proc.go#L4816: 	unlock(&sched.lock)
		proc.go#L5038: 		sched.ngsys.Add(1)
		proc.go#L5072: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L5168: 		lock(&sched.gFree.lock)
		proc.go#L5169: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5170: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L5171: 		sched.gFree.n += inc
		proc.go#L5172: 		unlock(&sched.gFree.lock)
		proc.go#L5180: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L5181: 		lock(&sched.gFree.lock)
		proc.go#L5185: 			gp := sched.gFree.stack.pop()
		proc.go#L5187: 				gp = sched.gFree.noStack.pop()
		proc.go#L5192: 			sched.gFree.n--
		proc.go#L5196: 		unlock(&sched.gFree.lock)
		proc.go#L5252: 	lock(&sched.gFree.lock)
		proc.go#L5253: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5254: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L5255: 	sched.gFree.n += inc
		proc.go#L5256: 	unlock(&sched.gFree.lock)
		proc.go#L5371: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.n - sched.ngsys.Load()
		proc.go#L5385: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5553: 	lock(&sched.lock)
		proc.go#L5554: 	sched.profilehz = hz
		proc.go#L5555: 	unlock(&sched.lock)
		proc.go#L5607: 	assertLockHeld(&sched.lock)
		proc.go#L5685: 	assertLockHeld(&sched.lock)
		proc.go#L5700: 	if sched.procresizetime != 0 {
		proc.go#L5701: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L5703: 	sched.procresizetime = now
		proc.go#L5912: 	lock(&sched.lock)
		proc.go#L5913: 	sched.nmidlelocked += v
		proc.go#L5917: 	unlock(&sched.lock)
		proc.go#L5924: 	assertLockHeld(&sched.lock)
		proc.go#L5950: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L5955: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L5956: 		unlock(&sched.lock)
		proc.go#L5974: 			unlock(&sched.lock)
		proc.go#L5979: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L5993: 				unlock(&sched.lock)
		proc.go#L6000: 				unlock(&sched.lock)
		proc.go#L6006: 			sched.nmspinning.Add(1)
		proc.go#L6021: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6045: 	lock(&sched.lock)
		proc.go#L6046: 	sched.nmsys++
		proc.go#L6048: 	unlock(&sched.lock)
		proc.go#L6081: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L6082: 			lock(&sched.lock)
		proc.go#L6083: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L6087: 					sched.sysmonwait.Store(true)
		proc.go#L6088: 					unlock(&sched.lock)
		proc.go#L6099: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L6103: 					lock(&sched.lock)
		proc.go#L6104: 					sched.sysmonwait.Store(false)
		proc.go#L6105: 					noteclear(&sched.sysmonnote)
		proc.go#L6112: 			unlock(&sched.lock)
		proc.go#L6115: 		lock(&sched.sysmonlock)
		proc.go#L6125: 		lastpoll := sched.lastpoll.Load()
		proc.go#L6127: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L6187: 		unlock(&sched.sysmonlock)
		proc.go#L6247: 			if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L6340: 	lock(&sched.lock)
		proc.go#L6341: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
		proc.go#L6343: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L6375: 		unlock(&sched.lock)
		proc.go#L6417: 	unlock(&sched.lock)
		proc.go#L6426: 	lock(&sched.lock)
		proc.go#L6427: 	if sched.disable.user == !enable {
		proc.go#L6428: 		unlock(&sched.lock)
		proc.go#L6431: 	sched.disable.user = !enable
		proc.go#L6433: 		n := sched.disable.n
		proc.go#L6434: 		sched.disable.n = 0
		proc.go#L6435: 		globrunqputbatch(&sched.disable.runnable, n)
		proc.go#L6436: 		unlock(&sched.lock)
		proc.go#L6437: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L6441: 		unlock(&sched.lock)
		proc.go#L6450: 	assertLockHeld(&sched.lock)
		proc.go#L6452: 	if sched.disable.user {
		proc.go#L6464: 	assertLockHeld(&sched.lock)
		proc.go#L6466: 	mp.schedlink = sched.midle
		proc.go#L6467: 	sched.midle.set(mp)
		proc.go#L6468: 	sched.nmidle++
		proc.go#L6478: 	assertLockHeld(&sched.lock)
		proc.go#L6480: 	mp := sched.midle.ptr()
		proc.go#L6482: 		sched.midle = mp.schedlink
		proc.go#L6483: 		sched.nmidle--
		proc.go#L6494: 	assertLockHeld(&sched.lock)
		proc.go#L6496: 	sched.runq.pushBack(gp)
		proc.go#L6497: 	sched.runqsize++
		proc.go#L6506: 	assertLockHeld(&sched.lock)
		proc.go#L6508: 	sched.runq.push(gp)
		proc.go#L6509: 	sched.runqsize++
		proc.go#L6519: 	assertLockHeld(&sched.lock)
		proc.go#L6521: 	sched.runq.pushBackAll(*batch)
		proc.go#L6522: 	sched.runqsize += n
		proc.go#L6529: 	assertLockHeld(&sched.lock)
		proc.go#L6531: 	if sched.runqsize == 0 {
		proc.go#L6535: 	n := sched.runqsize/gomaxprocs + 1
		proc.go#L6536: 	if n > sched.runqsize {
		proc.go#L6537: 		n = sched.runqsize
		proc.go#L6546: 	sched.runqsize -= n
		proc.go#L6548: 	gp := sched.runq.pop()
		proc.go#L6551: 		gp1 := sched.runq.pop()
		proc.go#L6593: 	assertLockHeld(&sched.lock)
		proc.go#L6605: 	pp.link = sched.pidle
		proc.go#L6606: 	sched.pidle.set(pp)
		proc.go#L6607: 	sched.npidle.Add(1)
		proc.go#L6622: 	assertLockHeld(&sched.lock)
		proc.go#L6624: 	pp := sched.pidle.ptr()
		proc.go#L6632: 		sched.pidle = pp.link
		proc.go#L6633: 		sched.npidle.Add(-1)
		proc.go#L6650: 	assertLockHeld(&sched.lock)
		proc.go#L6657: 		sched.needspinning.Store(1)
		proc.go#L6776: 	lock(&sched.lock)
		proc.go#L6778: 	unlock(&sched.lock)
		proc.go#L6810: 		lock(&sched.lock)
		proc.go#L6812: 		unlock(&sched.lock)
		proc.go#L7063: 	lock(&sched.lock)
		proc.go#L7064: 	out = int(sched.maxmcount)
		proc.go#L7066: 		sched.maxmcount = 0x7fffffff
		proc.go#L7068: 		sched.maxmcount = int32(in)
		proc.go#L7071: 	unlock(&sched.lock)
		proc.go#L7156: 	if i >= active_spin || ncpu <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1184: 	sched      schedt
		trace.go#L228: 	lock(&sched.sysmonlock)
		trace.go#L305: 	unlock(&sched.sysmonlock)
		trace.go#L490: 	lock(&sched.lock)
		trace.go#L495: 	for mp := sched.freem; mp != nil; mp = mp.freelink {
		trace.go#L499: 	unlock(&sched.lock)
		traceruntime.go#L710: 	assertLockHeld(&sched.lock)